home *** CD-ROM | disk | FTP | other *** search
Text File | 2019-04-13 | 24.9 KB | 1,225 lines |
- äçû/* ╙ORRY, THIS IS A TRANSLATED PROGRAM TEXT. ╙O THERE ARE SOME
- û COMMENTS AND VARIABLES IN GERMAN - FH */
- ò
- ò#INCLUDE "STDIO.H"
- ò#INCLUDE "GRAPHIC.H"
- ù
- û/* ╘┼╪╘ ╨╥╔╬╘ ╥╧╒╘╔╬┼╙ */
- ÿ
- ÿSTATIC INT PX,PY;
- ÿSTATIC FLOAT FX,FY,CURSIV,VERTICAL;
- ÿ
- ÿSTATIC CHAR ALPHAB[][10]=
- ÿ █
- Ü /* */
- ÿ █ 0015
- ÿ ▌,
- Ü /* ! */
- ÿ █ 0300,0103,0304,0104,0005
- ÿ ▌,
- Ü /* " */
- ÿ █ 0300,0101,0310,0111,0015
- ÿ ▌,
- Ü /* # */
- ÿ █ 0311,0114,0321,0124,0302,
- ÿ 0132,0303,0133,0035
- ÿ ▌,
- Ü /* $ */
- ÿ █ 0321,0101,0102,0122,0123,
- ÿ 0103,0310,0114,0025
- ÿ ▌,
- Ü /* % */
- ÿ █ 0300,0100,0324,0124,0320,
- ÿ 0104,0025
- ÿ ▌,
- Ü /* & */
- ÿ █ 0324,0101,0100,0110,0111,
- ÿ 0102,0104,0114,0122,0025
- ÿ ▌,
- Ü /* ' */
- ÿ █ 0310,0101,0015
- ÿ ▌,
- Ü /* ( */
- ÿ █ 0310,0101,0103,0114,0015
- ÿ ▌,
- Ü /* ) */
- ÿ █ 0300,0111,0113,0104,0015
- ÿ ▌,
- Ü /* * */
- ÿ █ 0302,0122,0300,0124,0320,
- ÿ 0104,0025
- ÿ ▌,
- Ü /* + */
- ÿ █ 0302,0122,0311,0113,0025
- ÿ ▌,
- Ü /* , */
- ÿ █ 0314,0105,0015
- ÿ ▌,
- Ü /* - */
- ÿ █ 0302,0122,0025
- ÿ ▌,
- Ü /* . */
- ÿ █ 0304,0104,0005
- ÿ ▌,
- Ü /* / */
- ÿ █ 0320,0104,0025
- ÿ ▌,
- Ü /* 0 */
- ÿ █ 0320,0100,0104,0124,0120,
- ÿ 0025
- ÿ ▌,
- Ü /* 1 */
- ÿ █ 0301,0110,0114,0015
- ÿ ▌,
- Ü /* 2 */
- ÿ █ 0300,0120,0122,0102,0104,
- ÿ 0124,0025
- ÿ ▌,
- Ü /* 3 */
- ÿ █ 0300,0120,0124,0104,0322,
- ÿ 0112,0025
- ÿ ▌,
- Ü /* 4 */
- ÿ █ 0300,0102,0122,0320,0124,
- ÿ 0025
- ÿ ▌,
- Ü /* 5 */
- ÿ █ 0320,0100,0102,0122,0124,
- ÿ 0104,0025
- ÿ ▌,
- Ü /* 6 */
- ÿ █ 0320,0100,0104,0124,0122,
- ÿ 0102,0025
- ÿ ▌,
- Ü /* 7 */
- ÿ █ 0300,0120,0124,0025
- ÿ ▌,
- Ü /* 8 */
- ÿ █ 0300,0104,0124,0120,0100,
- ÿ 0302,0122,0025
- ÿ ▌,
- Ü /* 9 */
- ÿ █ 0304,0124,0120,0100,0102,
- ÿ 0122,0025
- ÿ ▌,
- Ü /* : */
- ÿ █ 0302,0102,0303,0103,0005
- ÿ ▌,
- Ü /* ; */
- ÿ █ 0312,0112,0313,0105,0015
- ÿ ▌,
- Ü /* < */
- ÿ █ 0320,0102,0124,0025
- ÿ ▌,
- Ü /* = */
- ÿ █ 0302,0122,0303,0123,0025
- ÿ ▌,
- Ü /* > */
- ÿ █ 0300,0122,0104,0025
- ÿ ▌,
- Ü /* ? */
- ÿ █ 0301,0100,0120,0122,0112,
- ÿ 0113,0314,0114,0025
- ÿ ▌,
- ÿ
- Ü /* @ */
- ÿ █ 0321,0111,0112,0122,0120,
- ÿ 0100,0104,0124,0123,0025
- ÿ ▌,
- Ü /* A */
- ÿ █ 0302,0112,0114,0104,0103,
- ÿ 0113,0015
- ÿ ▌,
- Ü /* B */
- ÿ █ 0301,0104,0114,0112,0102,
- ÿ 0015
- ÿ ▌,
- Ü /* C */
- ÿ █ 0312,0102,0104,0114,0015
- ÿ ▌,
- Ü /* D */
- ÿ █ 0310,0114,0104,0102,0112,
- ÿ 0015
- ÿ ▌,
- Ü /* E */
- ÿ █ 0314,0104,0102,0112,0113,
- ÿ 0103,0015
- ÿ ▌,
- Ü /* F */
- ÿ █ 0310,0100,0105,0312,0102,
- ÿ 0015
- ÿ ▌,
- Ü /* G */
- ÿ █ 0305,0115,0112,0102,0104,
- ÿ 0114,0015
- ÿ ▌,
- Ü /* H */
- ÿ █ 0301,0104,0302,0112,0114,
- ÿ 0015
- ÿ ▌,
- Ü /* I */
- ÿ █ 0302,0104,0301,0101,0005
- ÿ ▌,
- Ü /* J */
- ÿ █ 0312,0115,0105,0311,0111,
- ÿ 0015
- ÿ ▌,
- Ü /* K */
- ÿ █ 0301,0104,0303,0114,0303,
- ÿ 0112,0015
- ÿ ▌,
- Ü /* L */
- ÿ █ 0301,0104,0005
- ÿ ▌,
- Ü /* M */
- ÿ █ 0304,0102,0122,0124,0312,
- ÿ 0114,0025
- ÿ ▌,
- Ü /* N */
- ÿ █ 0304,0102,0112,0114,0015
- ÿ ▌,
- Ü /* O */
- ÿ █ 0302,0112,0114,0104,0102,
- ÿ 0015
- ÿ ▌,
- Ü /* P */
- ÿ █ 0305,0102,0112,0114,0104,
- ÿ 0015
- ÿ ▌,
- Ü /* Q */
- ÿ █ 0314,0104,0102,0112,0115,
- ÿ 0015
- ÿ ▌,
- Ü /* R */
- ÿ █ 0304,0102,0112,0015
- ÿ ▌,
- Ü /* S */
- ÿ █ 0312,0102,0103,0113,0114,
- ÿ 0104,0015
- ÿ ▌,
- Ü /* T */
- ÿ █ 0301,0104,0114,0302,0112,
- ÿ 0015
- ÿ ▌,
- Ü /* U */
- ÿ █ 0302,0104,0114,0112,0015
- ÿ ▌,
- Ü /* V */
- ÿ █ 0302,0103,0114,0112,0015
- ÿ ▌,
- Ü /* W */
- ÿ █ 0302,0104,0113,0124,0122,
- ÿ 0025
- ÿ ▌,
- Ü /* X */
- ÿ █ 0302,0114,0312,0104,0015
- ÿ ▌,
- Ü /* Y */
- ÿ █ 0302,0104,0114,0112,0314,
- ÿ 0115,0105,0015
- ÿ ▌,
- Ü /* Z */
- ÿ █ 0302,0112,0104,0114,0015
- ÿ ▌,
- Ü /* [ */
- ÿ █ 0310,0100,0104,0114,0015
- ÿ ▌,
- Ü /* \ */
- ÿ █ 0300,0124,0025
- ÿ ▌,
- Ü /* ] */
- ÿ █ 0300,0110,0114,0104,0015
- ÿ ▌,
- Ü /* ^ */
- ÿ █ 0302,0110,0122,0025
- ÿ ▌,
- Ü /* _ */
- ÿ █ 0305,0135,0025
- ÿ ▌,
- ÿ
- ÿ
- Ü /* └ */
- ÿ █ 0302,0132,0025
- ÿ ▌,
- Ü /* ┴ */
- ÿ █ 0304,0100,0120,0124,0302,
- ÿ 0122,0025
- ÿ ▌,
- Ü /* ┬ */
- ÿ █ 0304,0100,0110,0112,0302,
- ÿ 0122,0124,0104,0025
- ÿ ▌,
- Ü /* ├ */
- ÿ █ 0320,0100,0104,0124,0025
- ÿ ▌,
- Ü /* ─ */
- ÿ █ 0300,0104,0114,0123,0121,
- ÿ 0110,0100,0025
- ÿ ▌,
- Ü /* ┼ */
- ÿ █ 0320,0100,0104,0124,0302,
- ÿ 0112,0025
- ÿ ▌,
- Ü /* ╞ */
- ÿ █ 0320,0100,0104,0302,0112,
- ÿ 0025
- ÿ ▌,
- Ü /* ╟ */
- ÿ █ 0320,0100,0104,0124,0122,
- ÿ 0112,0025
- ÿ ▌,
- Ü /* ╚ */
- ÿ █ 0300,0104,0320,0124,0302,
- ÿ 0122,0025
- ÿ ▌,
- Ü /* ╔ */
- ÿ █ 0300,0104,0005
- ÿ ▌,
- Ü /* ╩ */
- ÿ █ 0300,0120,0125,0105,0104,
- ÿ 0025
- ÿ ▌,
- Ü /* ╦ */
- ÿ █ 0300,0104,0320,0102,0124,
- ÿ 0025
- ÿ ▌,
- Ü /* ╠ */
- ÿ █ 0300,0104,0124,0025
- ÿ ▌,
- Ü /* ═ */
- ÿ █ 0304,0100,0112,0120,0124,
- ÿ 0025
- ÿ ▌,
- Ü /* ╬ */
- ÿ █ 0304,0100,0124,0120,0025
- ÿ ▌,
- Ü /* ╧ */
- ÿ █ 0300,0104,0124,0120,0100,
- ÿ 0025
- ÿ ▌,
- Ü /* ╨ */
- ÿ █ 0304,0100,0120,0122,0102,
- ÿ 0025
- ÿ ▌,
- Ü /* ╤ */
- ÿ █ 0300,0104,0124,0120,0100,
- ÿ 0313,0124,0025
- ÿ ▌,
- Ü /* ╥ */
- ÿ █ 0304,0100,0120,0122,0102,
- ÿ 0312,0124,0025
- ÿ ▌,
- Ü /* ╙ */
- ÿ █ 0320,0100,0102,0122,0124,
- ÿ 0104,0025
- ÿ ▌,
- Ü /* ╘ */
- ÿ █ 0300,0120,0310,0114,0025
- ÿ ▌,
- Ü /* ╒ */
- ÿ █ 0300,0104,0124,0120,0025
- ÿ ▌,
- Ü /* ╓ */
- ÿ █ 0300,0102,0124,0120,0025
- ÿ ▌,
- Ü /* ╫ */
- ÿ █ 0300,0104,0112,0124,0120,
- ÿ 0025
- ÿ ▌,
- Ü /* ╪ */
- ÿ █ 0300,0101,0123,0124,0320,
- ÿ 0121,0103,0104,0025
- ÿ ▌,
- Ü /* ┘ */
- ÿ █ 0300,0102,0122,0120,0312,
- ÿ 0114,0025
- ÿ ▌,
- Ü /* ┌ */
- ÿ █ 0300,0120,0104,0124,0025
- ÿ ▌,
- Ü /* █ */
- ÿ █ 0320,0111,0113,0124,0312,
- ÿ 0102,0025
- ÿ ▌,
- Ü /* ▄ */
- ÿ █ 0300,0105,0005
- ÿ ▌,
- Ü /* ▌ */
- ÿ █ 0300,0111,0113,0104,0312,
- ÿ 0122,0025
- ÿ ▌,
- Ü /* ▐ */
- ÿ █ 0301,0100,0110,0111,0121,
- ÿ 0120,0025
- ÿ ▌
- ÿ
- ÿ ▌;
- ÿ
- ù
- üPLETTER(LETTER)
- ÿ CHAR *LETTER;
- ÿ
- ÿ █ INT J,I=0;
- ÿ INT X,Y,Y0;
- ÿ FLOAT X0;
- ù
- ù DO
- ¢ █ /* 0X00: X=0 END (NEW BEGIN) */
- ¢ /* X=1 SET A POINT */
- ¢ /* X=3 STOP, NEW BEGIN */
- ù J=LETTER[I++];
- ù Y0=5-(J&07);
- ù X0=((J&070)>> 3)+Y0*CURSIV;
- ù IF(VERTICAL !=0)
- ù █ X=X0; X0=Y0; Y0=X;
- ù ▌
- ù Y =Y0*FY+PY+0.5;
- ù X =X0*FX+PX+0.5;
- ù IF((J&=0300) == 0100)
- ù PLOT(X,Y);
- ù ELSE
- ù SETPLOT(X,Y);
- ù
- ù ▌WHILE(J != 0);
- ù PX=X; PY=Y;
- ù ▌
- ù
- ò
- üPLOTSTR(DX,STR)
- ÿ INT DX;
- ÿ CHAR *STR;
- ù
- ÿ █ CHAR C;
- ÿ INT NR;
- ù
- ù WHILE((C=*STR++) != 0)
- ù █
- ù IF(C<' ')CONTINUE;
- ù IF(C>=' ' && C<='?')
- ù NR=C-' ';
- ù
- ù ELSE IF(C>='@' && C<='_')
- ù NR=C-'@'+32;
- ù
- ù ELSE IF(C>='└' && C<='▐')
- ù NR=C-'└'+64;
- ù
- ù PLETTER(ALPHAB[NR]);
- ù IF(VERTICAL!=0)
- ù PY+=DX;
- ù ELSE
- ù PX+=DX;
- ù ▌
- ù ▌
- ù
- û/* ├╠╧├╦ ╨╥╧╟╥┴═ */
- ò
- ò#DEFINE ╥UHR 99
- ò#DEFINE ╥UHR2 85
- ò#DEFINE ╥UHR3 92
- ÿ
- ò#DEFINE ╥SEK1 98
- ò#DEFINE ╥SEK2 15
- ò
- ò#DEFINE ╥MIN1 85
- ò#DEFINE ╥MIN2 4
- ò#DEFINE ╥MIN3 6
- ò#DEFINE ╥MIN4 4
- ò
- ò#DEFINE ╥HOU1 55
- ò#DEFINE ╥HOU2 7
- ò#DEFINE ╥HOU3 12
- ò#DEFINE ╥HOU4 7
- ò
- ÿSTATIC CHAR *SPUF=0X9000,
- ÿ *MPUF1=0X9040,
- ÿ *MPUF2=0X9080,
- ÿ *MPUF3=0X90C0,
- ÿ *MPUF4=0X9100,
- ÿ *HPUF1=0X9140,
- ÿ *HPUF2=0X9180,
- ÿ *HPUF3=0X91C0,
- ÿ *HPUF4=0X9200;
- ÿ
- ÿSTATIC INT _X,_Y;
- ÿ
- ÿSTATIC FLOAT TABX[16]=
- ÿ █
- ÿ 0.0,
- ÿ 0.1045,
- ÿ 0.2079,
- ÿ 0.3090,
- ÿ 0.4067,
- ÿ 0.5,
- ÿ 0.5878,
- ÿ 0.6691,
- ÿ 0.7431,
- ÿ 0.8090,
- ÿ 0.8660,
- ÿ 0.9135,
- ÿ 0.9511,
- ÿ 0.9781,
- ÿ 0.9945,
- ÿ 1.0
- ÿ ▌;
- ÿ
- ÿSTATIC FLOAT TABY[16]=
- ÿ █
- ÿ 1.0,
- ÿ 0.9945,
- ÿ 0.9781,
- ÿ 0.9511,
- ÿ 0.9135,
- ÿ 0.8660,
- ÿ 0.8090,
- ÿ 0.7431,
- ÿ 0.6691,
- ÿ 0.5878,
- ÿ 0.5,
- ÿ 0.4067,
- ÿ 0.3090,
- ÿ 0.2079,
- ÿ 0.1045,
- ÿ 0.0
- ÿ ▌;
- ÿ
- ÿ/* STATIC INT PX,PY;
- ÿ STATIC FLOAT FX,FY; */
- ÿ
- Ü /* 12 */
- ÿSTATIC INT ZWOELF[]=
- ÿ █ 030005,010105,010100,010000,010005,
- ÿ 030205,010204,010404,010403,010203,
- ÿ 010200,010500,010501,010301,010302,
- ÿ 010502,010505,010205,000000
- ÿ ▌;
- Ü /* 3 */
- ÿSTATIC INT DREI[]=
- ÿ █ 030005,010305,010300,010000,010001,
- ÿ 010201,010202,010102,010103,010203,
- ÿ 010204,010004,010005,000000
- ÿ ▌;
- Ü /* 6 */
- ÿSTATIC INT SECHS[]=
- ÿ █ 030005,010000,010300,010303,010103,
- ÿ 010104,010304,010305,010005,030102,
- ÿ 010101,010201,010202,010102,000000
- ÿ ▌;
- Ü /* 9 */
- ÿSTATIC INT NEUN[]=
- ÿ █ 030005,010002,010202,010201,010001,
- ÿ 010000,010300,010305,010005,030104,
- ÿ 010103,010203,010204,010104,000000
- ÿ ▌;
- Ü /* ╨ROFI-├ */
- ÿSTATIC INT PROFI[]=
- ÿ █ /* ╙ */
- ÿ 030007,010004,010204,010203,010003,
- ÿ 010002,010302,010305,010105,010106,
- ÿ 010306,010307,010007,
- ÿ /* U */
- ÿ 030405,010402,010702,010705,010605,
- ÿ 010603,010503,010505,010405,
- ÿ /* P */
- ÿ 031005,011000,011100,011102,011302,
- ÿ 011305,010805,031104,011103,011203,
- ÿ 011204,011104,
- ÿ /* E */
- ÿ 031405,011402,011702,011703,011603,
- ÿ 011704,011705,011405,031504,011503,
- ÿ 011604,011504,
- ÿ /* R */
- ÿ 032005,012002,012102,012104,012204,
- ÿ 012205,012005,
- ÿ /* - */
- ÿ 032305,012304,012504,012505,012305,
- ÿ /* ├ */
- ÿ 032607,012602,013102,013103,012703,
- ÿ 012706,013106,013107,012607,
- ÿ 000000
- ÿ ▌;
- ÿ
- Ü /* ┼IRICH ╚AUCK */
- ÿSTATIC INT EI_HA[]=
- ÿ █ 030204,010004,010002,010102,030002,
- ÿ 010000,010200,010202,030203,010203,
- ÿ 030200,010300,010302,010402,030300,
- ÿ 010500,010502,030503,010503,030500,
- ÿ 010600,010602,010702,030600,011000,
- ÿ 011003,031002,011102,011100,
- ÿ 031300,011304,031302,011502,031504,
- ÿ 011500,011600,011601,011701,031602,
- ÿ 011702,011700,012000,012002,032000,
- ÿ 012100,012102,032100,012200,012202,
- ÿ 012302,032200,012400,012403,032502,
- ÿ 012401,012500,
- ÿ 000000
- ÿ ▌;
- ÿ
- ÿ
- üKOOR(R,POS)
- ÿINT R,POS;
- ù█
- ÿ STATIC DOUBLE KORR=0.55;
- ÿ FLOAT EX,EY;
- ù
- ù IF(POS<=15)
- ù █
- ù EX=TABX[POS];
- ù EY=TABY[POS];
- ù ▌
- ù ELSE IF(POS<=30)
- ù █
- ù EX=TABX[30-POS];
- ù EY=-TABY[30-POS];
- ù ▌
- ù ELSE IF(POS<=45)
- ù █
- ù EX=-TABX[POS-30];
- ù EY=-TABY[POS-30];
- ù ▌
- ù ELSE
- ù █
- ù EX=-TABX[60-POS];
- ù EY=TABY[60-POS];
- ù ▌
- ù _X=EX*R*KORR+80;
- ù _Y=199-100+EY*R;
- ù▌
- ü
- üPAINTCLOCK()
- ù█
- ÿ INT I,J,X,Y;
- ù
- ù SETCOL(2);
- ù
- ù KOOR(╥UHR,0);
- ù SETPLOT(_X,_Y);
- ù
- ù FOR(I=1;I<=60;I++)
- ù █ KOOR(╥UHR,I);
- ù PLOT(_X,_Y);
- ù ▌
- ù
- ù FOR(I=0;I<60;I+=5)
- ù █
- ù KOOR(╥UHR,I);
- ù X=_X;Y=_Y;
- ù IF(!(I%15))
- ù KOOR(╥UHR2,I);
- ù ELSE
- ù KOOR(╥UHR3,I);
- ù LINE(X,Y,_X,_Y);
- ù ▌
- ù
- ù FX=FY=3;
- ù PX=73;PY=199-34;
- ù PLETTER2(ZWOELF);
- ù
- ù PX=75;PY=199-181;
- ù PLETTER2(SECHS);
- ù
- ù PX=112;PY=199-108;
- ù PLETTER2(DREI);
- ù
- ù PX=36;PY=199-108;
- ù PLETTER2(NEUN);
- ù
- ù PX=41;PY=199-140;
- ù PLETTER2(PROFI);
- ù
- ù SETCOL(1); FILL(80,100);
- ù
- ù SETCOL(0);
- ù PX=49; PY=140; FX=3; FY=2;
- ù PLETTER2(EI_HA);
- ù
- ù▌
- ù
- ÿSTATIC INT SX1,SY1,SX2,SY2;
- ü
- üSZGRON(POS)
- ÿINT POS;
- ù█
- ù SETCOL(3);
- ù KOOR(╥SEK1,POS);
- ù SX1=_X;SY1=_Y;
- ù KOOR(╥SEK2,(POS+30)%60);
- ù MLINE(SX1,SY1,SX2=_X,SY2=_Y,SPUF);
- ù▌
- ù
- üSZGROFF()
- ù█
- ù OLINE(SX1,SY1,SX2,SY2,SPUF);
- ù▌
- ù
- ÿSTATIC INT MX1,MY1,MX2,MY2;
- ÿSTATIC INT MX3,MY3,MX4,MY4;
- ù
- üMZGRON(POS)
- ÿINT POS;
- ù█
- ù SETCOL(3);
- ù KOOR(╥MIN1,POS);
- ù MX1=_X;MY1=_Y;
- ù KOOR(╥MIN2,(POS+15)%60);
- ù MX2=_X;MY2=_Y;
- ù KOOR(╥MIN3,(POS+30)%60);
- ù MX3=_X;MY3=_Y;
- ù KOOR(╥MIN4,(POS+45)%60);
- ù MLINE(MX1,MY1,MX4=_X,MY4=_Y,MPUF1);
- ù MLINE(MX4,MY4,MX3,MY3,MPUF2);
- ù MLINE(MX3,MY3,MX2,MY2,MPUF3);
- ù MLINE(MX2,MY2,MX1,MY1,MPUF4);
- ù▌
- ù
- üMZGROFF()
- ù█
- ù OLINE(MX2,MY2,MX1,MY1,MPUF4);
- ù OLINE(MX3,MY3,MX2,MY2,MPUF3);
- ù OLINE(MX4,MY4,MX3,MY3,MPUF2);
- ù OLINE(MX1,MY1,MX4,MY4,MPUF1);
- ù▌
- ù
- ÿSTATIC INT HX1,HY1,HX2,HY2;
- ÿSTATIC INT HX3,HY3,HX4,HY4;
- ù
- üHZGRON(POS)
- ÿINT POS;
- ù█
- ù SETCOL(3);
- ù KOOR(╥HOU1,POS);
- ù HX1=_X;HY1=_Y;
- ù KOOR(╥HOU2,(POS+15)%60);
- ù HX2=_X;HY2=_Y;
- ù KOOR(╥HOU3,(POS+30)%60);
- ù HX3=_X;HY3=_Y;
- ù KOOR(╥HOU4,(POS+45)%60);
- ù MLINE(HX1,HY1,HX4=_X,HY4=_Y,HPUF1);
- ù MLINE(HX4,HY4,HX3,HY3,HPUF2);
- ù MLINE(HX3,HY3,HX2,HY2,HPUF3);
- ù MLINE(HX2,HY2,HX1,HY1,HPUF4);
- ù▌
- ù
- üHZGROFF()
- ù█
- ù OLINE(HX2,HY2,HX1,HY1,HPUF4);
- ù OLINE(HX3,HY3,HX2,HY2,HPUF3);
- ù OLINE(HX4,HY4,HX3,HY3,HPUF2);
- ù OLINE(HX1,HY1,HX4,HY4,HPUF1);
- ù▌
- ü
- üCLOCK(TIM,COL1,COL2,COL3)
- ÿINT TIM,COL1,COL2,COL3;
- ù█
- ÿ INT H,M,S,SS,I;
- ÿ CHAR *P;
- ù
- ù CLRMAP(0);
- ù COLORS(COL1,COL2,COL3 );
- ù
- ù PAINTCLOCK();
- ù
- ù P=GETTIME();
- ù SSCANF(P,"%D:%D:%D",&H,&M,&S);
- ù H%=12;P+=6; /* AUS ╙EKUNDEN EINST */
- ù
- ù HZGRON(H=M/12.0+5*H+.5);
- ù MZGRON(M);
- ù SZGRON(S);
- ù
- ù DO
- ù █
- ù DO
- ù █
- ù GETTIME();
- ù SSCANF(P,"%D",&SS);
- ù
- ù ▌WHILE(SS==S);
- ù
- ù SZGROFF(S);
- ù
- ù IF(SS<S)
- ù █
- ù MZGROFF(M);
- ù M=(M+1)%60;
- ù
- ù IF((M+6)%12==0)
- ù █
- ù HZGROFF(H);
- ù HZGRON(H=(H+1)%60);
- ù ▌
- ù MZGRON(M);
- ù ▌
- ù SZGRON(S=SS);
- ù
- ù ▌WHILE(TIM--);
- ù▌
- ù
- ò
- üPLETTER2(LETTER)
- ÿ INT *LETTER;
- ÿ
- ÿ █ INT J,I=0;
- ÿ INT X,Y,Y0;
- ù
- ù DO
- ù █
- ¢ /* 0X0000: X=0 END (NEW BEGIN) */
- ¢ /* X=1 SET POINT */
- ¢ /* X=3 STOP, NEW BEGIN */
- ù J=LETTER[I++];
- ù Y =(J&077)*FY+PY;
- ù X=((J&07700) >>6)*FX+PX;
- ù
- ù IF((J&=030000) == 010000)
- ù PLOT(X,Y);
- ù ELSE
- ù SETPLOT(X,Y);
- ù
- ù ▌WHILE(J != 0);
- ù PX=X; PY=Y;
- ù ▌
- ù
- û/* ╨╥╧╞╔-├ ─EMO */
- ù
- ÿINT X,Y,*LISTE;
- Ü/* FLOAT FX,FY; SCALE FACTOR FOR OBJECTS */
- Ü/* INT PX,PY; PEN POSITION */
- ÿINT FRX,FRY; /* DIMENSION OF AN OBJECT FROM START */
- ù
- Ü/* CODE OF THE COORDINATES:
- Ü 0ZXXYY (OCTAL DIGITS)
- Ü XX: X-COORDINATE RELATIVE TO LEFT UPPER CORNER OF THE OBJECT
- Ü YY: Y-COORDINATE RELATIVE TO LEFT UPPER CORNER OF THE OBJECT
- Ü Z : 0 END OF THE COORDINATE LIST, (X,Y) IST STOP POINT
- Ü 1 DRAW LINE FROM LAST COORD. TO (X,Y)
- Ü 4 DIMENSION OF THE OBJECT (RECTANGLE INCLUDING THE OBJECT)
- Ü (HAS TO BE THE FIRST!)
- Ü 3 LIFT PEN AND MOVE TO (X,Y)
- Ü 5 FILL FROM THIS POINT WITH COLO 1
- Ü 6 ....".... 2
- Ü 7 ....".... 3
- Ü*/
- ù
- ÿSTATIC INT L_PROFIC[]=
- ÿ█ 046512,
- Ü /* ╙ */
- ÿ 030011,010005,010104,010504,010502,
- ÿ 010202,010203,010003,010000,010600,
- ÿ 010701,010705,010606,010206,010210,
- ÿ 010510,010507,010707,010711,010612,
- ÿ 010112,010011,050305,
- Ü /* ╒ */
- ÿ 031012,011010,011110,011101,011200,
- ÿ 011700,011712,011512,011502,011302,
- ÿ 011312,011012,
- ÿ 051401,
- Ü /* ╨ */
- ÿ 032012,012010,012110,012102,012002,
- ÿ 012000,012400,012402,012302,012304,
- ÿ 012604,012705,012711,012612,012012,
- ÿ 032310,012306,012506,012510,012310,
- ÿ 052205,
- Ü /* ┼ */
- ÿ 033012,013010,013110,013102,013002,
- ÿ 013000,013700,013703,013503,013502,013302,013304,
- ÿ 013504,013506,013306,013310,013510,
- ÿ 013507,013707,013712,013012,
- ÿ 053205,
- Ü /* ╥ */
- ÿ 034012,014010,014110,014102,014002,
- ÿ 014000,014300,014304,014404,014503,
- ÿ 014500,015000,015002,014702,014704,
- ÿ 014605,014706,014711,014612,014012,
- ÿ 034310,014306,014506,014510,014310,
- ÿ 054205,
- Ü /* - */
- ÿ 035106,015104,015504,015506,015106,
- ÿ 055305,
- Ü /* ├ */
- ÿ 036012,015711,015701,016000,016400,
- ÿ 016501,016503,016303,016302,016102,
- ÿ 016110,016310,016307,016507,016511,
- ÿ 016412,016012,
- ÿ 056005,
- ÿ
- ÿ 007000
- ÿ▌;
- Ü
- Ü/* GET COORDINATES, CODE FROM A LIST */
- ù
- üINT GETPOI()
- ÿ
- ÿ █ INT I;
- ù
- ù I=*LISTE++;
- ù X=((I&07700) >>6)*FX;
- ù Y=(I&077)*FY;
- ù RETURN (I&070000) >>12;
- ù ▌
- ù
- Ü/* PRINT OBJECT HORIZONTAL */
- ù
- üOBJ_HOR(OBJ,LCOL,FCOL)
- ÿ INT *OBJ,LCOL,FCOL;
- ù
- ÿ █ INT I,X0,Y0;
- ù
- ù LISTE=OBJ;
- ù SETCOL(LCOL);
- ù GETPOI(); /* DIMESNION */
- ù FRX=X; FRY=Y;
- ù
- ù DO█
- ù I=GETPOI();
- ù X0=PX+X; Y0=PY+Y;
- ù
- ù SWITCH(I)
- ù █ CASE 1: PLOT(X0,Y0);
- ù BREAK;
- ù CASE 5: IF(FCOL==0)
- ù BREAK;
- ù SETCOL(FCOL);
- ù FILL(X0,Y0);
- ù SETCOL(LCOL);
- ù BREAK;
- ù DEFAULT:SETPLOT(X0,Y0);
- ù ▌
- ù
- ù ▌WHILE(I != 0);
- ù PX=X0; PY=Y0;
- ù ▌
- ù
- üD_PROFIC(XSIZE,YSIZE)
- ÿ FLOAT XSIZE,YSIZE;
- ÿ
- ÿ █ CHAR *OBJ1,*OBJ2,*OBJ;
- ÿ INT X0,Y0,X_START,I,CNT;
- ù
- ù CLRMAP(0); COLORS(RED,BLACK,RED);
- ù
- ù OBJ1=0X9000;
- ù PX=PY=0; FX=XSIZE; FY=YSIZE;
- ù OBJ_HOR(L_PROFIC,1,2);
- ù OBJ2=PUSHOBJ(0,0,FRX,FRY,OBJ1);
- ù CLRMAP(0);
- ù PX=PY=0;
- ù OBJ_HOR(L_PROFIC,1,3);
- ù PUSHOBJ(0,0,FRX,FRY,OBJ2);
- ù
- ù CLRMAP(0);
- ù X_START=-10; Y0=-10; CNT=0;
- ù
- ù DO█
- ù X0=X_START; I=0;
- ù DO█
- ù IF(I==CNT)
- ù PLOTOBJ(X0,Y0,X0+FRX,Y0+FRY,OBJ2);
- ù ELSE
- ù PLOTOBJ(X0,Y0,X0+FRX,Y0+FRY,OBJ1);
- ù I=(I+1)%2;
- ù
- ù ▌WHILE((X0+=FRX*1.08) <159);
- ù IF((X_START+=0.2*FRX) >0)
- ù █ X_START-=FRX;
- ù CNT=(CNT+1)%2;
- ù ▌
- ù
- ù ▌WHILE((Y0+=FRY*1.2) < 199);
- ù
- ù WAIT(8);
- ù ▌
- ù
- û/* ╫┴╔╘ ╥╧╒╘╔╬┼ */
- ù
- üWAIT(TIM)
- ÿ INT TIM;
- ù █
- ÿ INT S;
- ÿ CHAR *P;
- ù
- ù P=GETTIME()+6;
- ù SSCANF(P,"%D",&S);
- ù S=(S+TIM)%60;
- ù DO
- ù █
- ù GETTIME();
- ù SSCANF(P,"%D",&TIM);
- ù
- ù ▌WHILE(TIM!=S);
- ù ▌
- û
- û/* ╨╥╔╬╘ ╘┼╪╘ */
- û
- ÿSTRUCT PTEXT █ INT __PX,__PY;
- ÿ FLOAT __FX,__FY;
- ÿ INT __DX;
- ÿ INT __COL,__VERT;
- ÿ FLOAT __CURS;
- ÿ CHAR *__TEXT;▌;
- û
- üPLOTTEXT(OBJ,N)
- ÿ STRUCT PTEXT *OBJ;
- ÿ INT N;
- ù █
- ù WHILE(N--)
- ù █
- ù PX=OBJ->__PX;
- ù PY=OBJ->__PY;
- ù FX=OBJ->__FX;
- ù FY=OBJ->__FY;
- ù SETCOL(OBJ->__COL);
- ù VERTICAL=OBJ->__VERT;
- ù CURSIV=OBJ->__CURS;
- ù
- ù PLOTSTR(OBJ->__DX,OBJ->__TEXT);
- ù OBJ++;
- ù ▌
- ù ▌
- ù
- û/* ╚EADER ┬╔╠─ */
- ù
- ÿSTATIC STRUCT PTEXT T_HEADER[]=
- ÿ █ 55, 175, 2, 3, 2, 1, 0, 0, "╘HIS IS A",
- ÿ 20, 155, 3, 4, 2, 1, 0, 0, "─EMONSTRATION ╨ROGRAM",
- ÿ 50, 120, 2, 3, 2, 1, 0, 0, "WRITTEN IN",
- ÿ 100, 118, 4, 4, 2, 1, 0, 0, "├",
- ÿ 15, 80, 2, 3, 2, 1, 0, 0, "COMPILED BY ─┴╘┴ ┬┼├╦┼╥'S",
- ÿ 1, 10, 2, 3, 2, 1, 0, 0, "THE ├-├OMPILER FOR ├-64 AND ├-128"
- ÿ ▌;
- ÿ
- üP_HEADER()
- ù █
- ù CLRMAP(0);
- ù COLORS(GREY,GREEN,RED);
- ù
- ù PX=25,PY=40; FX=FY=2;
- ù OBJ_HOR(L_PROFIC,3,3);
- ù
- ù PLOTTEXT(T_HEADER,SIZEOF(T_HEADER)/SIZEOF(*T_HEADER));
- ù
- ù WAIT(20);
- ù ▌
- ù
- û/* ├OMMAND ┬╔╠─ */
- ù
- ÿSTATIC STRUCT PTEXT T_COMMAND[]=
- ÿ █ 5, 175, 2, 3, 2, 3, 0, 0, "╙╒╨┼╥-├",
- ÿ 55, 175, 2, 3, 2, 1, 0, 0, "INCLUDES A COMMAND",
- ÿ 15, 155, 2, 3, 2, 1, 0, 0, "PROCESSOR SIMILAR TO ├╨/═ (╘═)",
- ÿ 15, 135, 2, 3, 2, 1, 0, 0, "WITH COMMANDS FOR DIRECTORY",
- ÿ 15, 115, 2, 3, 2, 1, 0, 0,"ERROR MESSAGES AND COMMANDS TO DISK",
- ÿ 15, 95, 2, 3, 2, 1, 0, 0, "AND HAS A 24 HOUR CLOCK",
- ÿ 5, 70, 2, 3, 2, 3, 0, 0, "╙╒╨┼╥-├",
- ÿ 55, 70, 2, 3, 2, 1, 0, 0, "HANDLES UP TO",
- ÿ 15, 50, 2, 3, 2, 1, 0, 0, "8 DISK DRIVES"
- ÿ ▌;
- ÿ
- üP_COMMAND()
- ù █
- ù CLRMAP(0);
- ù COLORS(GREY,GREEN,PINK);
- ù PLOTTEXT(T_COMMAND,SIZEOF(T_COMMAND)/SIZEOF(*T_COMMAND));
- ù WAIT(20);
- ù ▌
- û
- û/* ├OMMAND ╙┘╙╘┼═ */
- ù
- ÿSTATIC STRUCT PTEXT T_SYSTEM[]=
- ÿ █ 5, 175, 2, 3, 2, 1, 0, 0, "╘HE",
- ÿ 25, 175, 2, 3, 2, 3, 0, 0, "╙╒╨┼╥-├",
- ÿ 70, 175, 2, 3, 2, 1, 0, 0, "SOFTWARE PACKAGE",
- ÿ 5, 155, 2, 3, 2, 1, 0, 0, "CONSISTS OF",
- ÿ 15, 130, 4, 4, 2, 1, 0, 0, "├OMMAND ╨ROCESSOR",
- ÿ 15, 110, 4, 4, 2, 1, 0, 0, "┼DITOR",
- ÿ 15, 90, 4, 4, 2, 1, 0, 0, "├OMPILER",
- ÿ 15, 70, 4, 4, 2, 1, 0, 0, "╠INKER",
- ÿ 15, 50, 4, 4, 2, 1, 0, 0, "╠IBRARY ╞UNCTIONS",
- ÿ 20, 35, 2, 2, 2, 1, 0, 0, "- MORE THAN 80",
- ÿ 20, 22, 2, 2, 2, 1, 0, 0, "- ALSO FOR ╟RAPHICS AND",
- ÿ 30, 9, 2, 2, 2, 1, 0, 0, "MATHEMATIC ┴PPLICATIONS"
- ÿ ▌;
- ÿ
- üP_SYSTEM()
- ù █
- ù CLRMAP(0);
- ù COLORS(GREY,GREEN,PINK);
- ù PLOTTEXT(T_SYSTEM,SIZEOF(T_SYSTEM)/SIZEOF(*T_SYSTEM));
- ù WAIT(20);
- ù ▌
- ù
- û/* ├-128 ┬ILD */
- ù
- ÿSTATIC STRUCT PTEXT T_C128[]=
- ÿ █ 5, 175, 2, 3, 2, 3, 0, 0, "╙╒╨┼╥-├",
- ÿ 55, 175, 2, 3, 2, 1, 0, 0, "IN THE ├-128 VERSION",
- ÿ 5, 155, 2, 3, 2, 1, 0, 0, "INCLUDES ADDITIONALY A",
- ÿ 25, 120, 4, 4, 3, 1, 0, 0, "╥┴═-╞LOPPY",
- ÿ 26, 121, 4, 4, 3, 2, 0, 0, "╥┴═-╞LOPPY",
- ÿ 5, 90, 2, 3, 2, 1, 0, 0, "WITH ABOUT 240 FREE BLOCKS, WITH",
- ÿ 5, 70, 2, 3, 2, 1, 0, 0, "MEMORY EXPANSION UP TO 760,",
- ÿ 5, 50, 2, 3, 2, 1, 0, 0, "COMPATIBLE TO ╓├-1541,",
- ÿ 5, 30, 2, 3, 2, 1, 0, 0, "╥┴═-╞LOPPY CAN BE ALSO USED IN",
- ÿ 5, 10, 2, 3, 2, 1, 0, 0, "├-╨ROGRAMS"
- ÿ ▌;
- ÿ
- üP_C128()
- ù █
- ù CLRMAP(0);
- ù COLORS(GREY,GREEN,PINK);
- ù PLOTTEXT(T_C128,SIZEOF(T_C128)/SIZEOF(*T_C128));
- ù WAIT(20);
- ù ▌
- û
- û/* ┬USINESS ╟RAPHIC */
- û
- ÿSTATIC STRUCT PTEXT T_BUSIN[]=
- ÿ █ 10, 180, 2, 3, 2, 2, 0, 0, "╟RAPHIC ┼XAMPLE:",
- ÿ 15, 30,-2, 3, 2, 1, 1, 0, "╙ALES",
- ÿ 55, 1,-2, 3, 2, 1, 1, 0, "╩AN",
- ÿ 75, 1,-2, 3, 2, 1, 1, 0, "╞EB",
- ÿ 95, 1,-2, 3, 2, 1, 1, 0, "═AR",
- ÿ 115, 1,-2, 3, 2, 1, 1, 0, "┴PR",
- ÿ 135, 1,-2, 3, 2, 1, 1, 0, "═AY",
- ÿ 155, 1,-2, 3, 2, 1, 1, 0, "╩UN"
- ÿ ▌;
- ÿ
- üP_BUSIN()
- ù █
- ÿ CHAR *OBJ1,*OBJ2,*OBJ3,*OBJ4,*OBJ5,*OBJ6;
- ÿ INT I;
- ù
- ù CLRMAP(0);
- ù COLORS(GREY,BLUE,GREEN);
- ù OBJ1=0X9000;
- ù
- ù PLOTHISTO(40,40,35);
- ù PLOTHISTO(60,40,60);
- ù PLOTHISTO(80,40,5);
- ù PLOTHISTO(100,40,40);
- ù PLOTHISTO(120,40,21);
- ù PLOTHISTO(140,40,51);
- ù
- ù SETCOL(1);
- ù SETPLOT(180,30);
- ù PLOT(30,30);
- ù PLOT(30,170);
- ù
- ù FOR(I=45;I<160;I+=20)
- ù LINE(I,35,I,30);
- ù FOR(I=30;I<140;I+=20)
- ù LINE(30,I,30,I);
- ù
- ù PLOTTEXT(T_BUSIN,SIZEOF(T_BUSIN)/SIZEOF(*T_BUSIN));
- ù
- ù WAIT(20);
- ù ▌
- û
- üPLOTHISTO(X,Y,HIGHT)
- ÿ INT X,Y,HIGHT;
- ù █
- ù SETCOL(2);
- ù SETPLOT(X,Y);
- ù PLOT(X,Y+HIGHT);
- ù PLOT(X+10,Y+HIGHT);
- ù PLOT(X+10,Y);
- ù PLOT(X,Y);
- ù SETCOL(3);
- ù FILL(X+1,Y+1);
- ù SETCOL(2);
- ù SETPLOT(X,Y+HIGHT);
- ù PLOT(X+8,Y+HIGHT+4);
- ù PLOT(X+18,Y+HIGHT+4);
- ù PLOT(X+10,Y+HIGHT);
- ù SETPLOT(X+18,Y+HIGHT+4);
- ù PLOT(X+18,Y+4);
- ù PLOT(X+10,Y);
- ù ▌
- ù
- û
- û/* PRIME SIEVE */
- ù
- üD_SIEVE()
- ù █
- ÿ INT NEXT,J;
- ÿ CHAR SIEVE[10000];
- ÿ INT MIN1,MIN2; DOUBLE SEC1,SEC2;
- ù
- ù PRINTF("\223\231╘O HAVE AN IMPRESSION OF THE\N");
- ù PRINTF("QUICKNESS OF A ├-╨ROGRAM YOU NOW WILL\N");
- ù PRINTF("SEE THE PRIME NUMBERS UP TO 10000.\N");
- ù PRINTF("\N╘HEY ARE CALCULATED ACCORDING\N");
- ù PRINTF("TO THE SIEVE OF ┼RATHOSTENES.\N\N");
- ù PRINTF("┴T FIRST THE PROGRAM WILL PRINT\N");
- ù PRINTF("'╙TART'.\N\N");
- ù FOR(NEXT=2;NEXT<=10000;NEXT++)
- ù SIEVE[NEXT]=1;
- ù
- ù PRINTF("\232╙TART\N");
- ù
- ù FOR(NEXT=2; NEXT<=10000; NEXT++)
- ù █
- ù IF(SIEVE[NEXT])
- ù █
- ù PRINTF("%5D",NEXT);
- ù J=NEXT;
- ù DO
- ù █ SIEVE[J]=0;
- ù J+=NEXT;
- ù ▌WHILE(J<=10000);
- ù ▌
- ù ▌
- ù PRINTF("\N┼ND\N\N\231╘HE COMPUTING TIME WAS ABOUT");
- ù PRINTF(" 1:18 MIN\N(IN ┬┴╙╔├ 7:22)\N");
- ù WAIT(15);
- ù ▌
- ù
- ù
- û/* ═AINPROGRAM ─┼═╧ */
- ÿ
- üMAIN()
- ù
- ÿ █ CHAR STRING[10];
- ÿ CHAR *TOPMEM, *HELP;
- ÿ
- ù NMIOFF();
- ù PUTCHAR(├╠╥);
- ù PRINTF("\N─┼═╧: PLEASE TYPE TIME, I.E. 15:58:05\N");
- ù SCANF("%8S",STRING);
- ù SETTIME(STRING);
- ù TOPMEM=ALLOC(0);
- ù GRAPHIC();
- ù CLRMAP(0);
- ù GRAPHON();
- ù
- ùLABEL: D_PROFIC(2.0,2.0);
- ù
- ù P_HEADER();
- ù
- ù P_COMMAND();
- ù
- ù P_SYSTEM();
- ù
- ù CLOCK(65,9,8,1);
- ù
- ù P_C128();
- ù
- ù CLOCK(130,2,10,1);
- ù
- ù P_BUSIN();
- ù
- ù PUTCHAR(├╠╥);
- ù HELP=ALLOC(0);
- ù FREE(TOPMEM-HELP);
- ù GRAPHOFF();
- ù D_SIEVE();
- ù GRAPHIC();
- ù CLRMAP(0);
- ù GRAPHON();
- ù
- ù CLOCK(160,11,12,1);
- ù
- ù GOTO LABEL;
- ù ▌